package com.hanamaki.exception.demo01;

import java.io.FileNotFoundException;

/**
 * 异常的解决方式
 * 1. 一种是捕获  三个关键词  try   catch  finally
 *      当异常被捕获，就必须把异常解决
 * 2. 一种是抛出    两个关键词   throw  throws
 *      如果在方法上抛出异常 就必须 在 调用此方法的位置上捕获并解决异常
 */
public class Test {

    public static void main(String[] args) {

        int a = 1;
        int b = 0;

        /* 此句代码 有异常 我们需要 捕获   捕获的快捷键  ctrl + alt + t */
        try {

            // try是监控区域
            System.out.println(a / b);

            /* 如果 在 catch 中 需要捕获 多个异常 优先级 要从 小 到 大 */

        } catch /* catch 为捕获异常的类型  ，如果不知道是什么异常 可以直接使用  Exception */ (ArrayIndexOutOfBoundsException e) {
            System.out.println("这是一个 数组下标越界异常");
            /* 如果在 try 语句中的监控的代码 出现了问题 就会执行 此语句中的  代码 */
        } catch (IndexOutOfBoundsException e) {
            System.out.println("这是一个 IndexOutOfBoundsException");
        } catch (ArithmeticException e) {
            System.out.println("这是一个 算数异常 ！");
        } catch (Exception e) {
            System.out.println("这是一个 Exception");
        }
        finally {

            /* 来释放资源  I/O   资源要关闭 释放  */

        }

        System.out.println("业务");

    }



}
